package matlap.client.services.student;

import java.util.List;

import matlap.shared.Score;
import matlap.shared.Student;
import matlap.shared.exceptions.MyException;

import com.google.gwt.user.client.rpc.RemoteService;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;

@RemoteServiceRelativePath("student")
public interface StudentService extends RemoteService {

	int getStudentsNumber();

	List<String> getStudentsName();

	List<Student> getStudents();

	List<Student> selectStudentsName();

	List<Student> selectSchools();

	List<Student> selectGrades();

	List<Student> selectLocalities();

	List<String> getUserNames();

	Student getStudentByUserName(String username);

	Student getStudentByUserName2(String userName);

	Student getStudentPeopleByUserName(String username);

	void updatePeopleStudents(String username, String last_name,
			String first_name, String address, String school, int clas) throws MyException;

	void updateStudents(String username, int schoolID, int clas) throws MyException;

	void deleteStudent(String username) throws MyException;

	void update(Student student) throws MyException;

	int selectSchoolID(String school);

	void insertStudentScore(Score s);

	void updateStudentScore(Score s) throws MyException;

	List<Score> selectStudentsScore();

	List<Student> selectStudentsWithoutScore();

	// List<Student> getStudentBy(String name, String school, String grade,
	// String locality);
	List<Student> getStudentsBy(String name, String string, String string2,
			String string3);
}
